package xcmg.device.dao.entity.agentPlan;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import xcmg.device.infra.enums.AgentPlanStatusEnum;
import xcmg.device.service.vo.agentPlan.AgentPlanVO;

/**
 * 代理商采购计划
 *
 * @author wangyong
 */
public class AgentPlanDO {

  /**
   * 主键
   */
  private String id;
  /**
   * 计划单号
   */
  private String planNo;
  /**
   * 采购类型ID
   */
  private Integer typeId;
  /**
   * 采购类型。1紧急，2补库，3月度
   */
  private String typeDesc;
  /**
   * 0门店采购计划，1汇总采购计划
   */
  private Integer planType;
  /**
   * 是否已生成采购计划，仅PLAN_TYPE=1时使用。0未生成，1已生成。
   */
  private Short genPurFlag;
  /**
   * 0草拟，1待审核，2审核通过，3返回修改，4已汇总
   */
  private Integer status;
  /**
   * 汇总后的单号，仅PLAN_TYPE=0时使用,且有值时，STATUS=5
   */
  private String mergeNo;
  /**
   * 是否删除。0否1是
   */
  private Short deleteFlag;
  /**
   * 备注
   */
  private String remark;
  /**
   * 公司ID
   */
  private String orgId;
  /**
   * 部门ID
   */
  private String deptId;
  /**
   * 部门名称
   */
  private String deptName;
  /**
   * 审核人ID
   */
  private String auditId;
  /**
   * 审核人名称
   */
  private String auditName;
  /**
   * 审核时间
   */
  private Date auditTime;
  /**
   * 创建人ID
   */
  private String createId;
  /**
   * 创建人名称
   */
  private String createName;
  /**
   * 创建时间
   */
  private Date createTime;
  /**
   * 修改人ID
   */
  private String updateId;
  /**
   * 修改时间
   */
  private Date updateTime;
  /**
   * 修改人名称
   */
  private String updateName;
  /**
   * 删除人ID
   */
  private String deleteId;
  /**
   * 删除人名称
   */
  private String deleteName;
  /**
   * 删除时间
   */
  private Date deleteTime;

  /**
   * 返回修改建议
   */
  private String returnAdvice;

  public String getReturnAdvice() {
    return returnAdvice;
  }

  public void setReturnAdvice(String returnAdvice) {
    this.returnAdvice = returnAdvice;
  }

  public String getId() {
    return id;
  }

  public void setId(String id) {
    this.id = id;
  }

  public String getPlanNo() {
    return planNo;
  }

  public void setPlanNo(String planNo) {
    this.planNo = planNo;
  }

  public Integer getTypeId() {
    return typeId;
  }

  public void setTypeId(Integer typeId) {
    this.typeId = typeId;
  }

  public String getTypeDesc() {
    return typeDesc;
  }

  public void setTypeDesc(String typeDesc) {
    this.typeDesc = typeDesc;
  }

  public Integer getPlanType() {
    return planType;
  }

  public void setPlanType(Integer planType) {
    this.planType = planType;
  }

  public Short getGenPurFlag() {
    return genPurFlag;
  }

  public void setGenPurFlag(Short genPurFlag) {
    this.genPurFlag = genPurFlag;
  }

  public Integer getStatus() {
    return status;
  }

  public void setStatus(Integer status) {
    this.status = status;
  }

  public String getMergeNo() {
    return mergeNo;
  }

  public void setMergeNo(String mergeNo) {
    this.mergeNo = mergeNo;
  }

  public Short getDeleteFlag() {
    return deleteFlag;
  }

  public void setDeleteFlag(Short deleteFlag) {
    this.deleteFlag = deleteFlag;
  }

  public String getRemark() {
    return remark;
  }

  public void setRemark(String remark) {
    this.remark = remark;
  }

  public String getOrgId() {
    return orgId;
  }

  public void setOrgId(String orgId) {
    this.orgId = orgId;
  }

  public String getDeptId() {
    return deptId;
  }

  public void setDeptId(String deptId) {
    this.deptId = deptId;
  }

  public String getDeptName() {
    return deptName;
  }

  public void setDeptName(String deptName) {
    this.deptName = deptName;
  }

  public String getAuditId() {
    return auditId;
  }

  public void setAuditId(String auditId) {
    this.auditId = auditId;
  }

  public String getAuditName() {
    return auditName;
  }

  public void setAuditName(String auditName) {
    this.auditName = auditName;
  }

  public Date getAuditTime() {
    return auditTime;
  }

  public void setAuditTime(Date auditTime) {
    this.auditTime = auditTime;
  }

  public String getCreateId() {
    return createId;
  }

  public void setCreateId(String createId) {
    this.createId = createId;
  }

  public String getCreateName() {
    return createName;
  }

  public void setCreateName(String createName) {
    this.createName = createName;
  }

  public Date getCreateTime() {
    return createTime;
  }

  public void setCreateTime(Date createTime) {
    this.createTime = createTime;
  }

  public String getUpdateId() {
    return updateId;
  }

  public void setUpdateId(String updateId) {
    this.updateId = updateId;
  }

  public Date getUpdateTime() {
    return updateTime;
  }

  public void setUpdateTime(Date updateTime) {
    this.updateTime = updateTime;
  }

  public String getUpdateName() {
    return updateName;
  }

  public void setUpdateName(String updateName) {
    this.updateName = updateName;
  }

  public String getDeleteId() {
    return deleteId;
  }

  public void setDeleteId(String deleteId) {
    this.deleteId = deleteId;
  }

  public String getDeleteName() {
    return deleteName;
  }

  public void setDeleteName(String deleteName) {
    this.deleteName = deleteName;
  }

  public Date getDeleteTime() {
    return deleteTime;
  }

  public void setDeleteTime(Date deleteTime) {
    this.deleteTime = deleteTime;
  }

  public boolean isSummaryPlan() {
    return AgentPlanVO.PLAN_TYPE_SUMMARY.equals(this.planType);
  }
}
